Light projection system

ABSTRACT

Provided is a light projection system that can be used to indicate a robot&#39;s path of travel, a robot including the light projection system, and methods for projecting light to indicate a robot&#39;s path of travel. The light projection system can by mounted to the body of the robot, and can be configured to project light onto the ground in front of the robot. The light projection system can be configured to project different illumination patterns that can indicate whether the robot is moving forward, turning, accelerating, and/or slowing down, among other examples.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/591,733, filed on Nov. 28, 2017, which is hereby incorporated byreference herein in its entirety and for all purposes.

BACKGROUND

An autonomous robot can be programmed to travel from a first location tosecond location. “Autonomous,” in this context, means that the robot canreceive instructions for moving from the first location to the secondlocation, over a wireless or wired connection to a computer, forexample, and can then execute the instructions without further inputfrom a human operator. The robot may further be able to respond tosituations that the robot encounters (e.g., obstacles, the presence ofother moving objects in the vicinity, etc.), which the robot may beprogrammed to handle but which may not be explicitly provided for in therobot's travel plan.

In some cases, a robot's path may include a relatively uncontrolledspace, where the rules that govern where the robot can go may be verybroad, where the terrain may be variable, and where objects and peopleencountered by the robot may not be predictable. For example, the robotmay travel out-of-doors, where the robot's path may be constrained topedestrian thoroughfares, and where the robot may encounter people,dogs, cars, and other moving or stationary objects.

BRIEF SUMMARY

An autonomous robot may travel in spaces that may be shared with people.When encountering a robot traveling along a sidewalk or crossing astreet, a person may not have an intuitive expectation of where therobot is headed. The robot, for example, being non-humanoid in shape,may not be able to mimic human body language that can indicate where aperson is heading.

In various examples, provided is a light projection system that can beused to indicate a robot's path of travel. The light projection systemcan by mounted to the body of the robot, and can be configured toproject light onto the ground in front of the robot. The lightprojection system can be configured to project different illuminationpatterns that can indicate whether the robot is moving forward, turning,accelerating, and/or slowing down, among other examples.

BRIEF DESCRIPTION OF THE DRAWINGS

Illustrative examples are described in detail below with reference tothe following figures:

FIGS. 1A-1J include perspective illustrations of a robot that includes alight projection system;

FIG. 2 includes a diagram of example components of a light projectiondevice;

FIG. 3 is another a diagram of example components of a light projectionsystem; and

FIG. 4 includes a flowchart of an example process 400 for projectinglight to indicate a robot's path of travel.

DETAILED DESCRIPTION

An autonomous robot may travel in spaces that may be shared withpedestrians, cyclists, drivers, and other ambulatory human beings. Forexample, a robot may be programed to travel from one building in a townor city to another building, and in doing so may traverse sidewalks andcross streets. Sidewalks represent an example of a relativelyuncontrolled space, as compared, for example, to a street. For example,sidewalks might not define lanes in which to travel, nor strict rules ondirection of travel or right of way, among other examples. Peopleintuitively navigate such spaces by reading each other's body language(e.g., the direction a person's body is facing, the direction a person'shead is turned or gaze is fixed, etc.) or, with vehicles, by looking forindicators a person may be trained to recognize, such as turn signals,brake lights, the direction in which the front wheels of a vehicle arepointing, and so on.

When encountering a robot traveling along a sidewalk or crossing astreet, however, a person may not have an intuitive expectation of wherethe robot is headed. In addition to making turns to follow the robot'sprogrammed route, the robot may need to make small course correctionsalong the way to avoid unexpected obstacles, people, uneven terrain,and/or other situations that can cause the robot to deviate from astrictly straight path. Because the sidewalk may be a relativelyunconstrained space, the robot may be free to choose whatever is themost efficient path. In such a situations, for the safety of the peoplethe robot may encounter and the safety of the robot, it may be desirablefor the robot to indicate where the robot is going.

In various implementations, provided is a light projection system for anautonomous robot that can indicate the robot's intended path of travel.The lighting system can include a light fixture oriented to projectlight onto the ground in front of the robot. Using a motorized mountingsystem and a focusing system, the light projection system can project anillumination pattern on the ground, where the illumination patternindicates the robot's path of travel. In some examples, the illuminationpattern can indicate the robot's intended direction. Alternatively oradditionally, the illumination pattern can indicate a location where therobot is estimated to be in within a few seconds. In various examples,the illumination pattern is selected to provide as much information aspossible in the simplest manner possible. By projecting the robot's pathof travel onto the ground ahead of the robot, the light projectionsystem can aid the robot in safely navigating among people.

FIGS. 1A-1E include perspective illustrations of a robot 100 thatincludes a light projection system 106. The robot 100 can include alsoinclude a body 102 and a set of wheels 104 that enable the robot 100 totravel across ground surfaces, including man-made surfaces such assidewalks or floors, and natural surfaces, such as dirt or grass. Thoughnot illustrated in FIG. 1, the robot 100 can further include a motoroperable to drive the wheels 104, a steering system that can maneuverthe wheels 104 to change the robot's direction of travel, and varioussensors for detecting objects within a certain distance from the robot.The robot 100 can further include a computing device within the body102, which can receive input from the sensors and can control the motor,steering system, and other operations of the robot 100. In someexamples, the robot 100 can include multiple motors, such as a motor forcontrolling each wheel. In some examples, the robot 100 can furtherinclude location tracking devices, such as a Global Positioning Systemreceiver or cellular antennas, to assist the robot 100 in determiningthe robot's current location. In some examples, the body 102 of therobot 100 can include a space for carrying cargo.

In various examples, the robot 100 may be operable to travelautonomously from a first location to a second location. For example,the robot 100 may be programmable to travel from one geographic locationto another, where the geographic locations are identified by a streetaddress, a latitude and longitude, or in another manner. As anotherexample, the robot 100 may programmable to travel within a building, forexample from one office in the building to another, where the robot'sroute may include doorways and in elevators.

Autonomous, in this context, means that, once the robot 100 receivesinstructions describing a route to traverse, the robot 100 can executethe instructions without further input from a human operator. The robot100 may receive the instructions from an external computing device, suchas a laptop computer, a desktop computer, a smartphone, or another typeof computer. The computing device is “external” in that the computing isnot mounted to the robot 100 and does not travel with the robot 100. Theexternal computing device may have information such the robot's currentlocation, destination, and possible routes between the robot's currentlocation and the destination. The external computing device may furtherhave access to geographic maps, floorplans, and other physicalinformation that the external computing device can use to determine therobot's route.

To receive instructions, in some examples, the robot's on-boardcomputing device can be physically connected to the external computingdevice, for example using a cable. Alternatively or additionally, theon-board computing device may include a wireless networking capability,and thus may be able to receive the instructions over a Wi-Fi and/or acellular signal. In examples where the robot 100 has a wirelessreceiver, the robot 100 may be able to receive instructions describingthe robot's route while the robot 100 is in a different location thanthe external computing device (e.g., the robot 100 is remote from theexternal computing device).

Once the robot 100 has been programmed, the robot 100 can receive asignal to begin traversing the route to the destination. The externalcomputing device can send a signal to the robot's on-board computer, forexample, or a human operator can press a physical button on the robot100, as another example. In some examples, once the robot 100 is inmotion, the robot 100 may be able to receive an updated route over awireless connection, and/or may be able to request an updated route whenthe robot 100 finds that the original route is impassable or when therobot 100 loses track of its current location (e.g., the robot 100becomes lost).

Once in motion, the robot 100 may encounter situations that may not beexplicitly provided for in the instructions describing the robot'sroute. For example, the instructions may include left or right turns anddistances to travel between turns, or successive waypoints the robot isto reach. The instructions, however, may not explicitly describe whatthe robot 100 should do should the robot encounter an obstacle somewherealong the way. The obstacle may not be noted in the data the externalcomputer uses to determine the robot's route, or may be a mobileobstacle, so that the obstacle's presence or location may not bepredictable. In these and other examples, the robot's on-board computingdevice can include instructions for adjusting the robot's path as therobot travels a route. For example, when the robot's sensors indicatethat an object is located within a certain distance (e.g., three feet,five feet, and/or a distance that varies with the robot's currentvelocity) from the front of the robot 100, the on-board computer cancause the robot 100 to slow down and/or turn right or left to navigatearound the object. Once the robot's sensors indicate that the obstaclehas been bypassed, the on-board computer can adjust the robot's pathback to the intended course, if needed.

In various examples, the robot's route may further include spaces thatcan be shared with people, who may be walking, running, riding bicycles,driving cars, or otherwise be ambulatory. In these examples, to assistthe robot 100 in navigating among people, the robot 100 can include anarray of sensors that can detect people or objects within a certaindistance from the robot 100 (e.g., three feet, five, or anotherdistance). Using these sensors, the robot's on-board computing devicemay be able to an approximate number and proximity of objects around therobot 100, and possibly also the rate at which the objects are moving.The on-board computer can then use this information to adjust therobot's speed and/or direction of travel, so that the robot 100 may beable to avoid running into people or can avoid moving faster than theflow of surrounding traffic.

In these and other examples, the robot 100 may not only be able toachieve the overall objective of traveling autonomously from onelocation to another, but may also be capable of the small adjustmentsand course corrections that people make intuitively while maneuveringamong other people. The robot 100, however, may lack the physicalindicators that a person may have that indicates to other people wherethe person is going or what the person is doing. For example, thedirection the front of a person's body is facing or the direction theperson is looking may indicate the direction in which the person ismoving or is about to move. As another example, a person's hand orshoulder motions may indicate that the person is about to move faster oris about to stop moving.

In the example of FIGS. 1A-1E, the robot 100 is non-humanoid in form,and thus is not able to mimic the body language of a person that canconvey the robot's intended path of travel. In various implementations,the robot 100 thus includes a light projection system 106 that canproject an illumination pattern 110 on the ground in front of the robot100. The light projection system 106 may be configured to project theillumination pattern 110 one foot, three feet, or another distance infront of the front wheels 104 of the robot, and/or between one foot andfive feet (or another number of inches or feet) in front of the frontwheel 104.

In the example of FIG. 1A, the light projection system 106 hasconfigured the illumination pattern 110 in the shape of a vertical barto indicate that the robot 100 is moving forward. Specifically, the baris oriented parallel to the robot's forward direction of travel. In someexamples, the light projection system 106 can also configure theillumination pattern 110 to move or blink (e.g., turn on and off) tofurther indicate that the robot 100 is moving forward. For example, thelight projection system 106 can make the illumination pattern 110intermittently stretch from a short bar or a spot to a longer bar, orcan sweep the bar forwards and backwards, among other examples.

In various examples, the light projection system 106 can include a lightfixture and a mounting system to which the light fixture is secured. Themounting system can include moveable parts, such as pivoting joints,which can enable the light projection system 106 to change the directionin which light from the light fixture is projected. The light projectionsystem 106 can also include a focusing system that is able to change theintensity, direction, and/or shape of the projected light. The lightprojection system 106 can further include a variety of motors oractuators that can manipulate the mounting system or the focusingsystem. The light projection system 106 can further include a housingthat encloses the components, or the light projection system 106 may bebuilt into the body 102 of the robot 100.

The light fixture of the light projection system 106 can use one or moreof various types light producing mechanisms. For example, the lightfixture can include one or more Laser Emitting Diodes (LEDs), halogenbulbs, and/or lasers, among other examples. In some examples, the lightfixture can include an array of light emitting elements. In someexamples, the light projection system 106 can include multiple lightfixtures. In various examples, the light fixture includes a switch orrelay that can be actuated by an electrical signal to turn the light offand on.

The mounting system of the light projection system 106 can include atleast two axis of rotational movement, so that the light fixture can bemoved up or down (e.g., tilted) and left to right (e.g., panned). Forexample, the mounting system can include at least two pivoting jointsthat are capable of rotational motion, with the rotational axis of onejoint being horizontal and approximately parallel to the ground and therotational axis of a second joint being vertical and approximatelyperpendicular to the ground. In some examples, the mounting system canfurther include a third pivoting joint whose rotational axis is alongthe central axis of the light fixture, which can enable a rolling motionof the light fixture. As an example, the mounting system can include amotorized two-axis or a three-axis gimbal.

In various examples, the horizontal rotational axis of the mountingsystem can enable the light fixture to be tilted to project theillumination pattern 110 closer to the robot 100 or further away fromthe robot 100. In some examples, tilting the light fixture can have theeffect of lengthening or shortening the beam projected by the lightfixture.

In various examples, the vertical rotational axis of the mounting systemcan enable the light projected by the light fixture to be swept fromleft to right in front of the robot 100. As discussed further below,panning the projected light either to the left or to the right can beused to signal that the robot is turning.

In some examples, the mounting system and/or the light projection system106 may be attached to the body 102 of the robot at an angle (e.g.,tilted higher towards the rear of the robot 100 than the front) tobetter place the illumination pattern 110 on the ground in front of therobot 100. In these examples, the vertical axis of the mounting systemmay be at an angle from perpendicular to the ground.

The focusing system of the light projection system 106 can enable thelight projection system 106 to change the intensity, shape, and/ordirection of the illumination pattern 110. For example, the focusingsystem can include one or more lenses that can change the intensity orplacement of the light emitted from the light fixture. As anotherexample, the focusing system can include one or more reflectors that canchange the shape or direction of the light. In this example, thereflectors may be moveable and motorized, so that the angle at whichlight hits a reflector can be changed. As another example, the focusingsystem can include one or more motorized apertures that can change theshape of the light. In this example, an aperture can be used tocompletely block the light emitted by the light fixture, so that theprojected light can be made to blink without having to turn off thelight source.

In various examples, the light projection system 106 can include acontroller circuit that can control the motors that move the mountingsystem or adjust the focusing system. The controller circuit caninclude, for example, an integrated circuit device implementing amicroprocessor or a microcontroller. In these examples, the integratedcircuit device may be able to execute instructions stored on the deviceor on a memory device of the controller circuit. In various examples,the controller circuit may be wired to the motors in the lightprojection system 106 and can send signals over the wires to control themotors. In some examples, the light projection system 106 does notinclude separate control circuitry, and the on-board computing devicemay be directly wired to the motors that control the mounting system andfocusing system.

In the example of FIG. 1B, the light projection system 106 hasconfigured an illumination pattern 112 for indicating that the robot 100is turning to the left or is about to turn to the left. A left turn isused as an example in this illustration, with the understanding that anindication of right turn can be accomplished in a similar manner. Therobot's on-board computing device, for example, may periodically orcontinuously review the robot's route or route adjustments to see wherethe robot 100 is supposed to be at the current moment and/or in a fewseconds (e.g., three seconds, five seconds, or another number of secondsin the future). When the on-board computing device determines that therobot 100 is to make a left turn, the computing device can instruct thelight projection system 106 to make adjustments to project theillumination pattern 112 that indicates a left turn. In some examples,the computing device's programming may cause the illumination pattern112 to be projected a few seconds before the computing device instructsthe robot 100 to execute the turn.

In the example illustrated in FIG. 1B, the illumination pattern 112includes a bar that that is angled to the left of robot's central axis.The light projection system 106 can configure the illumination pattern112, for example, by rotating the light fixture to the left along avertical axis and rotating the light fixture counter-clockwise (from thepoint of view of the robot 100). Alternatively, the light projectionsystem 106 can adjust one or more reflectors to change the angle of thelight beam.

In some examples, the illumination pattern 112 for indicating a leftturn can include motion, blinking of the light, and/or further shapingof the light, to aid in indicating the left turning motion. For example,the light projection system 106 can rotate the light fixture, to sweepthe projected light from a central position to a left position. Asanother example, the light projection system 106 can intermittentlychange the projected light from a short bar or spot to a longer bar. Asanother example, the light projection system 106 may shape the lightinto an arc or curve that points to the left. In this example, the lightprojection system 106 may be able to make the projected light trace theillumination pattern 112 and/or blink the projected light on and off.

In various examples, the light projection system 106 can also be used toindicate the robot's velocity or a change in velocity. The robot'son-board computer may determine, for example, that the robot 100 isaccelerating from being stopped, or is able to go faster than therobot's current speed. To indicate the robot's speed, In variousexamples, the light projection system 106 can change the shape of thelight projected on the ground, and/or can make the projected light move.

FIG. 1C illustrates an example of an illumination pattern 114 that canbe used to indicate the robot's speed or velocity. In this example, theillumination pattern 114 includes a vertical bar that has beenlengthened in proportion to the robot's velocity. The length of the barcan be an indicator, for example, of where the robot 100 will be inthree to five seconds, or another amount of time. In some examples, thelength of the bar can change actively. For example, the bar can have aninitial length, which can increase to a second length, and then returnto the first length, in an intermittent pattern. In some examples, thelight projection system 106 can additionally cause the projected lightto blink as the length of the bar changes.

FIG. 1D illustrates an example of an illumination pattern 116 that canbe used to indicate that the robot 100 is stopped or idle. In thisexample, the illumination pattern includes a circular shape thatfluctuates smoothly between a first size and a smaller second size (orto off), such that the circular shape grows and shrinks. Thisillumination pattern 116 can mimic the steady breathing of a person whois sleeping. In other examples, the robot's status as stopped or idlecan, alternatively or additionally, be indicated by turning off thelight.

FIG. 1E illustrates an example of an illumination pattern 118 that canbe used to indicate that the robot 100 is about to start moving frombeing fully stopped. In this example, the illumination pattern 118projecting a decreasing series of numbers in sequence, indicating acountdown to zero. The countdown can start at 10 or 5 or another number,or a number that is based on a current situation around the robot 100(e.g., how many people are nearby, whether the robot 100 needs to getthe attention of the driver of a car, etc.). In some examples, once thecountdown reaches zero, the illumination pattern 118 can includeblinking the zero number a few times to indicate to passersby that therobot is about to do something.

FIG. 1F. illustrates an example of an illumination pattern 120 that canbe used to indicate that the robot 100 is accelerating from being fullystopped. In this example, the illumination pattern 120 starts as a spotthat stretches smoothly into a bar. The pattern of spot-to-bar may thenrepeats, to give the indication that the robot 100 is about to startmoving. The illumination pattern can include repeating the spot-to-barpattern three or four times (or another number of times) before therobot 100 begins moving. Once the robot 100 is underway, theillumination pattern 120 can change, such as to the illumination pattern110 illustrated in FIG. 1A.

FIG. 1G illustrates another example of an illumination pattern 122 thatthe light projection system 106 can project to indicate that the robot100 is moving forward. In this example, the illumination pattern 122 isin the shape of an arrow that points away from the robot 100 and in thedirection of the robot's path. The arrow shape may be a more obviousindicator of the robot's direction of travel. As in the previousexamples, the length of the arrow can indicate the robot's velocityand/or can move or blink to indicate a change in velocity. In variousexamples, the light projection system 106 can generate the illuminationpattern 122 using a combination of lenses, reflectors, and/or apertures.

FIG. 1H illustrates an example of illumination pattern 124 forindicating that the robot 100 is turning or is about to turn left. Inthis example, the illumination pattern 124 is in the shape of an arrowthat is curved to the left. In various examples, illumination pattern124 may be stationary, or the light projection system 106 may blink ortrace the light along the shape of the arrow to draw attention to theillumination pattern 124. In some examples the on-board computer maycause the robot 100 to follow the shape of the arrow while change theshape of the arrow to be consistent with the robot's path. For example,the arrow may initially be curved, and as the robot 100 turns left alongthe curve of the arrow, the arrow can gradually become straight toreflect the robot's current path.

FIG. 1I illustrates an example of an illumination pattern 126 forindicating that the robot 100 is idle or stopped. In this example, theillumination pattern 126 includes a cartoon face, with eyes drawn asstraight lines to indicate closed eyes, and a mouth drawn in an ovalshape so that the face appears to be of a person who is sleeping. Insome examples, the mouth can alternate between a larger over and asmaller oval, to imitate breathing. In other examples, that the robot100 is idle can be indicated by projecting the letters “Zzz . . . ” onthe ground, possibly with animation or blinking of the letters.

FIG. 1J illustrates an example of an illumination pattern 128 forindicating that the robot 100 is about to start moving from being fullystopped. In this example, the illumination pattern 128 includes an arrowthat gradually appears, starting at the arrow point, and then lengths.The pattern of the arrow appearing and lengthening may repeat severaltimes. In some examples, the illumination pattern 128 illustrated inFIG. 1J can be preceded by a countdown. In some examples, once the robot100 begins moving, the illumination pattern 128 can change, for exampleto the illumination pattern 122 illustrated in FIG. 1G.

FIG. 2 includes a diagram of example components of a light projectiondevice 200 that can be used to project the illumination patternsdiscussed with respect to FIG. 1A-1E. In the example of FIG. 2, variousdetails have been omitted so as not to obscure the illustratedcomponents. For example, a housing or enclosure for the light projectiondevice 200 is not illustrated. As another example, the illustratedcomponents may be connected to electrical wires for power and controlsignals, and these wires are not illustrated.

In various examples, the light projection device 200 can include amounting system 210, a light fixture 230, and a focusing system 240. Themounting system 210 can provide a mechanical structure to which thelight fixture 230 can be coupled. The mounting system 210 can alsoinclude moveable joints that enables the light projection device 200 tochange the direction and/or angle in which light emitted by the lightfixture 230 points. The light fixture 230 can project light of asuitable temperature, lumens, and/or frequency for the light to bevisible when the light strikes a surface. The focusing system 240 caninclude various physical mechanisms that can change the intensity,direction, and/or shape of the light emitted by the light fixture 230.The focusing system 240 may be attached to the front face (e.g., thelight emitting face) of the light fixture 230 and may include elementsattached to the light fixture 230, or may be fixed to another part ofthe light projection device 200 that places the light fixture 230 infront of the light fixture 230.

In various examples, the mounting system 210 can include pivoting jointsthat enable a least two degrees of rotational motion. In the example ofFIG. 2, the mounting system 210 includes a first joint 222, a secondjoint 224, and a third joint 226 so that the mounting system 210includes three degrees of rotational motion. The mounting system 210further includes a first arm 212 fixed between the first joint 222 andthe second joint 224, a second arm 214 fixed between the second joint224 and the third joint 226, and a third arm 216 fixed to the thirdjoint 226 and to which the light fixture 230 can be attached. In somecases, the mounting system 210 illustrated in FIG. 2 may be referred toas a three-axis gimbal.

The joints of the mounting system 210 enable the mounting system 210 torotate the light fixture 230 in various directions. The first joint 222can have a vertical axis around which the first joint 222 can rotate.The first joint 222 thus enables left-to right rotation of the lightfixture 230, which can also be referred to as a panning motion or amotion around the yaw axis. The first joint 222 can be coupled to afixed portion of the light projection device 200, such as the device'shousing, and can thus provide a base for the mounting system 210. Thesecond joint 224 can have horizontal axis that is at 90 degrees from theaxis of the first joint 222. The second joint 224 can enable clockwiseand counter-clockwise rotation of the light fixture 230, or motionaround the roll axis. The third joint 226 can have a horizontal axisthat is perpendicular to the axes of both the first joint 222 and thesecond joint 224. The axis of the third joint 226 can also beperpendicular to the direction in which the light fixture 230 emits. Thethird joint 226 enables up and down rotation of the light fixture 230,which can also be referred to as tilting or motion around the pitchaxis.

In various examples, the light projection device 200 can include one ormore motors configured to rotate one or more of the joints. A motor, forexample, can be built into one of the joints, or multiple of the jointscan incorporate a motor. Alternatively motors can be mounted external tothe joints and be affixed to the joints or the arms of the mountingsystem 210 to enable the motors to move the various parts of themounting system 210.

The light fixture 230 can include one or more light emitting elements orsources enclosed within a housing. The light sources can include one ormore of LEDs, halogen bulbs, lasers, other light emitting devices, or acombination of light emitting devices. In some examples, the lightsources may be able to project light of different colors, and the lightfixture 230 can include controls for changing the color that isprojected. In some examples, the light fixture 230 can also include areflector placed behind the lighting elements. The reflector may bemotorized and adjustable, so that the direction in which light isreflected can be changed. In some examples, the light projection device200 can include an array of light fixtures, which may be arranged in anarray that is coupled to the mounting system 210. Alternatively themultiple light fixtures can be attached to individual mounting systems,and thus be independently moveable with respect to one another.

Though illustrated in FIG. 2 as mounted below the axis of the thirdjoint 226, in other examples, the light fixture 230 can be mounted suchthat the center of the light beam produced by the light fixture 230 isbisected by the axis of the third joint 226.

The focusing system 240 can include various physical mechanisms that canalter the light emitted by the light fixture 230. For example, thefocusing system 240 can include one or more lenses that can change theintensity and/or direction of the light. In this example, the focusingsystem 240 can include one or more motors that can rotate a focusingring or multiple focusing rings of the focusing system 240, and changethe focal point or direction of the light. As another example, thefocusing system 240 can include one or more reflectors that can alterthe angle at which light is projected through the focusing system 240.In this example, the reflectors can shape the projected light into theshape of arrows, symbols, words, and/or other shapes. The focusingsystem 240 may include a motor or a collection of motors that can changethe angle of each reflector. As a further example, the focusing system240 can include one or more motorized apertures that may be able toclose or open into different shapes. In this example, the apertures canbe used to change the shape of the light emitted by the light fixture230, and/or can be used to block the light entirely to achieve ablinking effect without having to turn off the light fixture 230. Theapertures can be used, for example, to form the projected light into theshape of arrows, letters, words, and/or other symbols.

FIG. 3 is another a diagram of example components of a light projectionsystem 300 that can be used to project the illumination patternsdiscussed with respect to FIGS. 1A-1E. In the example of FIG. 3, variousdetails have been omitted so as not to obscure the illustratedcomponents, such as wires, motors, and an overall housing.

In various examples, the light projection system 300 can include amounting system 310, a light fixture 330, and a focusing system 340.

The mounting system 310 can provide a structure to which the lightfixture 330 can be attached. The mounting system 310 can further includemoveable joints that can enable rotational movement of the light fixture330. In the example of FIG. 3, the mounting system 310 includes a firstjoint 322 that can rotate around a vertical axis. The first joint 322can also be fixed to a stationary portion of the light projection system300, such as the housing. The first joint 322 can enable left and rightrotation of the light fixture 330, or panning. The example mountingsystem 310 further includes a second joint 324 that can rotate around ahorizontal axis. The second joint 324 enables up and down rotate of thelight fixture 330, or tilting. In some examples, the rotational axis ofthe second joint 324 is perpendicular to the direction in which thelight fixture 330 projects light. The mounting system 310 can furtherinclude a set of mounting arms 312 that support the light fixture 330.

The light fixture 330 can include one or more light emitting devices,such as LEDs, halogen bulbs, and/or lasers, among others, enclosed in ahouse. The light fixture 330 can also include a reflector that may bemotorized and moveable. In some examples, the light projection system300 can include an array of light fixtures, which may be stationary withrespect to one another or which may be individually moveable.

The focusing system 340 can include components such as lenses,reflectors, and/or apertures that can change the intensity, direction,and/or shape of the light emitted by the light fixture 330. In someexamples, the focusing system 340 can be attached to the front of thelight fixture 330, and can incorporate elements (e.g., lenses and/orreflectors) that are part of the light fixture 330. Alternatively, thefocusing system 340 can be mounted within the light projection system300 in front of the light fixture 330.

FIG. 4 includes a flowchart of an example process 400 for projectinglight to indicate a robot's path of travel. In various examples, theprocess 400 can be performed by a computing device mounted to the bodyof an autonomous robot. The robot can include a set of wheels operableto move the robot over a ground surface. The robot can further include alight projection device mounted to the body, and configurable to projectlight on the ground in front of the robot. The light projection devicecan include a mounting system, a light fixture coupled to the mountingsystem, and a focusing system. The computing device can be operable tocommunicate with and configure the light projection device. Thecomputing device can include a processor and a non-transitory memory orcomputer readable medium. The non-transitory memory can storeinstructions that, when executed by the processor, cause the processorto perform the steps of the process 400.

At step 402, the process 400 includes determining a path of travel forthe autonomous robot, wherein the autonomous robot is operable to travelwithin a space occupied by people. The space may include public spaces,such as pedestrian sidewalks, streets, and/or other outdoors spaces. Thespace may, alternatively or additionally, include indoor spaces, such asoffice buildings. In these and other examples, the robot's path may beshared with people who are walking, bicycling, driving, moving inanother manner, or standing still.

In some examples, the non-transitory memory of the computing device canfurther include instructions comprising a program for moving theautonomous robot from a first location to a second location withoutinput from a human operator. In these examples, the robot's path oftravel can be determined from determined from the program. For example,the computing device can include instructions that cause the computingdevice to look ahead in the robot's route, and determine a location therobot will occupy three seconds, five, seconds, or another number ofseconds after a current time. The robot's future location may be basedon the robot's current speed or expected speed. In this and otherexamples, the illumination pattern determined in the next steps canindicate the robot's future location.

At step 404, the process 400 includes determining an illuminationpattern for indicating the path of travel, wherein the illuminationpattern is configured to be projected onto a ground surface in front ofthe autonomous robot. The illumination pattern can indicate, forexample, a speed by a length and/or shape of the pattern. As anotherexample, the illumination pattern can indicate a direction the robot istraveling or will travel, such as a forward direction, a backwarddirection, a left direction, or a right direction. As another example,the illumination pattern can indicate that the path of travel includesthe robot turning left or right.

In some examples, the illumination pattern includes motion, such asmovement of the light projected by the light projection device ormovement, within the projected light, of the light being emitted. Inthese examples, the non-transitory memory of the computing device canfurther include instructions for moving the mounting system according tothe motion.

In some examples, the illumination pattern can include an intermittentprojection pattern. For example, the pattern can includingintermittently turning the projected light on and off, either byswitching the light source off or by blocking the light source. Asanother example, the pattern can include turn parts of the projectedlight off in a pattern. In these and other examples, the non-transitorymemory of the computing device can include instructions for adjustingthe light projected by a light fixture according to the intermittentprojection pattern.

At step 406, the process 400 includes configuring a mounting system topoint a light fixture coupled to the mounting system according to adirection indicated by the illumination pattern. In various examples,the mounting system can include a pivoting joints, where the pivotingjoints enable at least two degrees of rotational movement, or threedegrees of rotational movement. The pivoting joints may be motorized ormay be actuated by one or more motors. In these examples, by rotatingone or more of the pivoting joints, the mounting system can be made tochange the direction in which the light emitted by the light fixturelands on the ground.

At step 408, the process 400 includes configuring a focusing system tomodify light projected by the light fixture to conform to theillumination pattern. The focusing system can be mounted in front of thelight fixture. The focusing system can be motorized, and/or can beadjusting using motors. In various examples, the focusing system caninclude one or more lenses, reflectors, and/or apertures that can beused to change the intensity, direction, and/or shape of the light thatis projected on the ground. In various examples, a combination of thedirection in which light is emitted by the light fixture lands on theground and the illumination pattern can indicate the robot's path oftravel.

In various examples, the light projection device can include a controlcircuit communicatively coupled to motors that control the mountingsystem and/or the focusing system. In these examples, the controlcircuit can be operable to receive signals indicating adjustments tomake to the first motor or the second motor. The signals can begenerated by the robot's computing device. The signals can indicate, forexample, the direction in which the light fixture should point or theillumination pattern that should be projected. As another example, thesignals can indicate a pattern of movement for the light projected ontothe ground surface. As another example, the signals can indicate an onand off pattern for the light projected onto the ground surface.

Specific details were given in the preceding description to provide athorough understanding of various implementations of systems andcomponents for a light projection system. It will be understood by oneof ordinary skill in the art, however, that the implementationsdescribed above may be practiced without these specific details. Forexample, circuits, systems, networks, processes, and other componentsmay be shown as components in block diagram form in order not to obscurethe embodiments in unnecessary detail. In other instances, well-knowncircuits, processes, algorithms, structures, and techniques may be shownwithout unnecessary detail in order to avoid obscuring the embodiments.

It is also noted that individual implementations may be described as aprocess which is depicted as a flowchart, a flow diagram, a data flowdiagram, a structure diagram, or a block diagram. Although a flowchartmay describe the operations as a sequential process, many of theoperations can be performed in parallel or concurrently. In addition,the order of the operations may be re-arranged. A process is terminatedwhen its operations are completed, but could have additional steps notincluded in a figure. A process may correspond to a method, a function,a procedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination can correspond to a return of thefunction to the calling function or the main function.

The term “computer-readable medium” includes, but is not limited to,portable or non-portable storage devices, optical storage devices, andvarious other mediums capable of storing, containing, or carryinginstruction(s) and/or data. A computer-readable medium may include anon-transitory medium in which data can be stored and that does notinclude carrier waves and/or transitory electronic signals propagatingwirelessly or over wired connections. Examples of a non-transitorymedium may include, but are not limited to, a magnetic disk or tape,optical storage media such as compact disk (CD) or digital versatiledisk (DVD), flash memory, memory or memory devices. A computer-readablemedium may have stored thereon code and/or machine-executableinstructions that may represent a procedure, a function, a subprogram, aprogram, a routine, a subroutine, a module, a software package, a class,or any combination of instructions, data structures, or programstatements. A code segment may be coupled to another code segment or ahardware circuit by passing and/or receiving information, data,arguments, parameters, or memory contents. Information, arguments,parameters, data, etc. may be passed, forwarded, or transmitted via anysuitable means including memory sharing, message passing, token passing,network transmission, or the like.

The various examples discussed above may further be implemented byhardware, software, firmware, middleware, microcode, hardwaredescription languages, or any combination thereof. When implemented insoftware, firmware, middleware or microcode, the program code or codesegments to perform the necessary tasks (e.g., a computer-programproduct) may be stored in a computer-readable or machine-readablestorage medium (e.g., a medium for storing program code or codesegments). A processor(s), implemented in an integrated circuit, mayperform the necessary tasks.

Where components are described as being “configured to” perform certainoperations, such configuration can be accomplished, for example, bydesigning electronic circuits or other hardware to perform theoperation, by programming programmable electronic circuits (e.g.,microprocessors, or other suitable electronic circuits) to perform theoperation, or any combination thereof.

The various illustrative logical blocks, modules, circuits, andalgorithm steps described in connection with the implementationsdisclosed herein may be implemented as electronic hardware, computersoftware, firmware, or combinations thereof. To clearly illustrate thisinterchangeability of hardware and software, various illustrativecomponents, blocks, modules, circuits, and steps have been describedabove generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The techniques described herein may also be implemented in electronichardware, computer software, firmware, or any combination thereof. Suchtechniques may be implemented in any of a variety of devices such asgeneral purposes computers, wireless communication device handsets, orintegrated circuit devices having multiple uses including application inwireless communication device handsets and other devices. Any featuresdescribed as modules or components may be implemented together in anintegrated logic device or separately as discrete but interoperablelogic devices. If implemented in software, the techniques may berealized at least in part by a computer-readable data storage mediumcomprising program code including instructions that, when executed,performs one or more of the methods described above. Thecomputer-readable data storage medium may form part of a computerprogram product, which may include packaging materials. Thecomputer-readable medium may comprise memory or data storage media, suchas random access memory (RAM) such as synchronous dynamic random accessmemory (SDRAM), read-only memory (ROM), non-volatile random accessmemory (NVRAM), electrically erasable programmable read-only memory(EEPROM), FLASH memory, magnetic or optical data storage media, and thelike. The techniques additionally, or alternatively, may be realized atleast in part by a computer-readable communication medium that carriesor communicates program code in the form of instructions or datastructures and that can be accessed, read, and/or executed by acomputer, such as propagated signals or waves.

The program code may be executed by a processor, which may include oneor more processors, such as one or more digital signal processors(DSPs), general purpose microprocessors, an application specificintegrated circuits (ASICs), field programmable logic arrays (FPGAs), orother equivalent integrated or discrete logic circuitry. Such aprocessor may be configured to perform any of the techniques describedin this disclosure. A general purpose processor may be a microprocessor;but in the alternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration. Accordingly, the term “processor,” as used herein mayrefer to any of the foregoing structure, any combination of theforegoing structure, or any other structure or apparatus suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated software modules or hardware modules configured for a lightprojection system.

What is claimed is:
 1. An autonomous robot, comprising: a set of wheelsoperable to move the autonomous robot over a ground surface; a bodycoupled to the set of wheels; a light projection device mounted to thebody, the light projection device including a mounting system, a lightfixture coupled to the mounting system, and a focusing system; and acomputing device mounted to the body and operable to communicate withthe light projection device, the computing device including a processorand a non-transitory memory operable to store instructions that, whenexecuted by the processor, cause the processor to perform operationsincluding: determining a path of travel for the autonomous robot,wherein the autonomous robot is operable to travel within a spaceoccupied by people; determining an illumination pattern for indicatingthe path of travel, wherein the illumination pattern is configured to beprojected onto a ground surface in front of the autonomous robot,wherein the illumination pattern includes a sequence that indicates theautonomous robot is going to start moving from a fully stopped state,and wherein the autonomous robot starts moving after completion ofprojecting the sequence; configuring the mounting system to point thelight fixture according to the illumination pattern; and configuring thefocusing system to modify light projected by the light fixture toconform to the illumination pattern.
 2. The autonomous robot of claim 1,wherein the illumination pattern indicates a speed.
 3. The autonomousrobot of claim 1, wherein the illumination pattern indicates one of aforward direction, a backward direction, a left direction, or a rightdirection.
 4. The autonomous robot of claim 1, wherein the illuminationpattern indicates that the path of travel includes turning left orright.
 5. The autonomous robot of claim 1, wherein the illuminationpattern includes motion, and wherein the operations further includemoving the mounting system according to the motion.
 6. The autonomousrobot of claim 1, wherein the illumination pattern includes anintermittent projection pattern, and wherein the operations furtherinclude adjusting the light projected by the light fixture according tothe intermittent projection pattern.
 7. The autonomous robot of claim 1,wherein the operations further include determining, using the path oftravel, a location the autonomous robot will occupy a number of secondsafter a current time, wherein the illumination pattern further indicatesthe location.
 8. The autonomous robot of claim 1, wherein thenon-transitory memory further includes instructions comprising a programfor moving the autonomous robot from a first location to a secondlocation without input from a human operator.
 9. The autonomous robot ofclaim 8, wherein the path of travel is determined from the program. 10.The autonomous robot of claim 1, wherein the autonomous robot isoperable to travel within a public space.
 11. The autonomous robot ofclaim 10, wherein the public space includes pedestrian sidewalks. 12.The autonomous robot of claim 1, wherein the sequence is a countdown.13. The autonomous robot of claim 1, wherein the sequence is a series ofpattern that repeatedly stretches an illumination spot to anillumination bar.
 14. The autonomous robot of claim 1, wherein thesequence is a series of pattern that repeatedly lengthens anillumination arrow.
 15. A method implemented by a computing device,comprising: determining a path of travel for an autonomous robot,wherein the autonomous robot is operable to travel within a spaceoccupied by people; determining an illumination pattern for indicatingthe path of travel, wherein the illumination pattern is configured to beprojected onto a ground surface in front of the autonomous robot,wherein the illumination pattern includes a sequence that indicates theautonomous robot is going to start moving from a fully stopped state,and wherein the autonomous robot starts moving after completion ofprojecting the sequence; configuring a mounting system to point a lightfixture coupled to the mounting system according to a directionindicated by the illumination pattern; and configuring a focusing systemto modify light projected by the light fixture to conform to theillumination pattern.
 16. The method of claim 15, wherein the sequenceis a countdown.
 17. The method of claim 15, wherein the sequence is aseries of pattern that repeatedly stretches an illumination spot to anillumination bar.
 18. The method of claim 15, wherein the sequence is aseries of pattern that repeatedly lengthens an illumination arrow.